/**
 * 购物车 - 编辑页面
 * @author yuan_rz
 * @date 2019/01/17 14:26
 */
define(function () {

    var self,
        app = win.app,
        doc = document,
        layui = win.layui,
        vueData = {
            isAdd: false,
            isCheck : false,
            isShow : false,
            form: {
                GWCQ014_NAME: null
            },
            rules: {
                GWCQDOCNO: [
                    {required: true, message: '不可为空', trigger: 'blur'}
                ],
                GWCQDDOCDATE: [
                    {required: true, message: '不可为空', trigger: 'blur'}
                ],
                GWCQ010_NAME: [
                    {required: true, message: '不可为空', trigger: 'blur'}
                ]
            },
            selectOptions:{
                sys_y_n : app.datas_('sys_y_n')
            }
        },
        callObj,
        moduleName,
        table,listTable,
        layOpenIndex,
        pageVue
    ;

    var gwai700Edit = app.Module.extend({
        init: function () {
            self = this;
            self._super({
                _tag: 'gwai700_edit',
                _loadTplsFull: [{
                    dom: 'common_open_window', tpl: 'common/_open_window'
                },{
                    dom: 'gwai700_edit_giftInfo', tpl: 'base/gwai700_edit_giftInfo'
                }]
            }, win);
        },
        initListTable: function () {
            //表格初始化
            listTable = table.render({
                elem: app.getByid(doc, 'gwai700_edit_table'),
                id: 'gwai700_edit_table',
                size: _layuiConfig.ui_size,
                cols: [[
                    {field: 'GWCQSEQ', type: 'checkbox', title: '选择'},
                    {field: 'GWCQ109', width: 160, title: '活动编号'/*, event: 'openGwdc001'*/},
                    {field: 'GWDC003', width: 120, title: '活动名称'},
                    {field: 'GWCQ001', width: 120, title: '产品编号'/*, event: 'openGwda003'*/},
                    {field: 'GWAML003', width: 150, title: '品名'},
                    {field: 'GWAML004', width: 100, title: '规格'},
                    {field: 'GWCQ002', width: 80, title: '销售单位'},
                    {field: 'GWCQ003', width: 80, title: '销售数量'/*,edit: 'text'*/},
                    {field: 'GWCQ004', width: 80, title: '标准单价'},
                    {field: 'GWCQ005', width: 60, title: '金额'},
                    {field: 'GWCQ110', width: 100, title: '促销方式',
                        filterDatas: app.datas_('crm_gwdc_gwdc005')
                    },
                    {field: 'GWCQ111', width: 80, title: '促销单据类型', hide: true},
                    {field: 'GWCQ113', width: 80, title: '结算价', hide: true},
                    {field: 'GWCQACTI', width: 80, title: '单据状态',hide: true},
                    {field: 'GWCQ101', width: 80, title: '是否转单',hide: true}
                    /*{field: 'GWCQMLEGAL_NAME', width: 100, title: '归属法人'},
                    {field: 'GWCQPLANT', width: 80, title: 'ERP组织'},
                    {
                        width: 130,
                        title: '',
                        toolbar:  '#script-gwai700editsetting',
                        align: 'center'
                    },
                    */
                ]],
                page: {layout: ['prev', 'page', 'next', 'count']}
            });
            //监听单元格编辑
            table.on('edit(gwai700_edit_table)', function(obj){
                if(obj.field == 'GWCQ003'){
                   /* obj.updateOfEdit({
                        'GWCQ005': obj.data.GWCQ004 * obj.value
                    });*/
                    var listData = listTable.getDatas();
                    if(obj.data.GWCQ109==null && obj.value <=0){
                        layer.msg('数量不可小于等于0');
                    }
                    //组合+满额赠送
                    if(obj.data.GWCQ109!=null && obj.data.GWCQ111 =="1" && obj.data.GWCQ110=="3"){
                        /*var GWDC020=0,
                            GWDC021=0;
                        app.ajax({
                            xurl: 'base/gwai700/getGwdc020_021',
                            xdata: {GWCQ109:obj.data.GWCQ109},
                            cb: function (rt) {
                                if (rt.ok) {
                                    GWDC020=rt.data.GWDC020;
                                    GWDC021=rt.data.GWDC021;
                                }
                            }
                        });
                        var GWCQ005=0;
                        listData.forEach(function (item) {
                            if(item.GWCQ109==obj.data.GWCQ109 && item.GWCQSEQ !=obj.data.GWCQSEQ){
                                GWCQ005=math.add(GWCQ005,item.GWCQ005);
                            }
                        })
                        GWCQ005=math.add(GWCQ005,math.mul(obj.value,obj.data.GWCQ004));
                        if(GWCQ005 < GWDC021){
                            app.confirm({
                                msg: '修改数量导致不满足促销活动，是否确定修改？',
                                ok: function () {
                                    //确定修改后会清除所有与活动有关的信息，包括赠品信息
                                    app.ajax({
                                        xurl: 'base/gwai700/delGwcqzByGwcqz007',
                                        xdata: {GWCQDOCNO:vueData.form.GWCQDOCNO,GWCQ109:obj.data.GWCQ109},
                                        cb: function (rt) {
                                            if (rt.ok) {
                                                layer.msg('赠品信息清除成功');
                                            }
                                        }
                                    });
                                    //先调整当前行
                                    obj.updateOfEdit({
                                        'GWCQ003':obj.value,
                                        'GWCQ109': '',
                                        'GWDC003': '',
                                        'GWCQ110': '',
                                        'GWCQ111': '',
                                        'GWCQ004':obj.data.GWCQ113,
                                        'GWCQ005':math.mul(obj.value,obj.data.GWCQ113)
                                    });
                                    //再调整其他行
                                    listData.forEach(function (item) {
                                        if(obj.data.GWCQ109==item.data.GWCQ109 && obj.data.GWCQSEQ !=item.data.GWCQSEQ){
                                            obj.update({
                                                'GWCQ109': '',
                                                'GWDC003': '',
                                                'GWCQ110': '',
                                                'GWCQ111': '',
                                                'GWCQ004':obj.data.GWCQ113,
                                                'GWCQ005':math.mul(obj.data.GWCQ003,obj.data.GWCQ113)
                                            });
                                        }
                                    });
                                    listData = listTable.getDatas();
                                    self.tableReload(listData);
                                },
                                cancel:function () {
                                    obj.value=obj.data.GWCQ003;
                                }
                            });
                        }else {
                            obj.updateOfEdit({
                                'GWCQ003':obj.value,
                                'GWCQ004':obj.data.GWCQ113,
                                'GWCQ005':math.mul(obj.value,obj.data.GWCQ113)
                            });
                            listData = listTable.getDatas();
                            self.tableReload(listData);
                        }*/

                    }
                    //组合+满量赠送
                    if(obj.data.GWCQ109!=null && obj.data.GWCQ111 =="1" && obj.data.GWCQ110=="4"){
                        self.checkGwdc020(obj);
                        /*var GWDC020=0,
                            GWDC021=0;
                        app.ajax({
                            xurl: 'base/gwai700/getGwdc020_021',
                            xdata: {GWCQ109:obj.data.GWCQ109},
                            cb: function (rt) {
                                if (rt.ok) {
                                    GWDC020=rt.data.GWDC020;
                                    GWDC021=rt.data.GWDC021;
                                }
                            }
                        });
                        var GWCQ003=0;
                        listData.forEach(function (item) {
                            if(item.GWCQ109==obj.data.GWCQ109 && item.GWCQSEQ !=obj.data.GWCQSEQ){
                                GWCQ003=math.add(GWCQ003,item.GWCQ003);
                            }
                        })
                        GWCQ003=math.add(GWCQ003,obj.value);
                        if(GWCQ003 < GWDC020){
                            app.confirm({
                                msg: '修改数量导致不满足促销活动，是否确定修改？',
                                ok: function () {
                                    //确定修改后会清除所有与活动有关的信息，包括赠品信息
                                    app.ajax({
                                        xurl: 'base/gwai700/delGwcqzByGwcqz007',
                                        xdata: {GWCQDOCNO:vueData.form.GWCQDOCNO,GWCQ109:obj.data.GWCQ109},
                                        cb: function (rt) {
                                            if (rt.ok) {
                                                layer.msg('赠品信息清除成功');
                                            }
                                        }
                                    });
                                    //先调整当前行
                                    obj.updateOfEdit({
                                        'GWCQ03':obj.value,
                                        'GWCQ109': '',
                                        'GWDC003': '',
                                        'GWCQ110': '',
                                        'GWCQ111': '',
                                        'GWCQ004':obj.data.GWCQ113,
                                        'GWCQ005':math.mul(obj.value,obj.data.GWCQ113)
                                    });
                                    //再调整其他行
                                    listData.forEach(function (item) {
                                        if(obj.data.GWCQ109==item.data.GWCQ109 && obj.data.GWCQSEQ !=item.data.GWCQSEQ){
                                            obj.update({
                                                'GWCQ109': '',
                                                'GWDC003': '',
                                                'GWCQ110': '',
                                                'GWCQ111': '',
                                                'GWCQ004':obj.data.GWCS113,
                                                'GWCQ005':math.mul(obj.data.GWCQ003,obj.data.GWCQ113)
                                            });
                                        }
                                    });
                                    //self.tableReload();
                                },
                                cancel:function () {
                                    obj.value=obj.data.GWCQ003;
                                }
                            });
                        }else {
                            obj.updateOfEdit({
                                'GWCQ003':obj.value,
                                'GWCQ004':obj.data.GWCQ113,
                                'GWCQ005':math.mul(obj.value,obj.data.GWCQ113)
                            });
                            listData=listTable.getDatas();
                            self.tableReload(listData);
                        }*/
                    }
                    //组合|非组合+裸价、特价
                    if(obj.data.GWCQ109!=null && (obj.data.GWCQ111 =="1" || obj.data.GWCQ111 =="2") && obj.data.GWCQ110!="3" && obj.data.GWCQ110!="4"){
                        var GWDC020=0,
                            GWDC021=0;
                        var _xData={};
                        if(obj.data.GWCQ111 =="1"){
                            _xData={GWCQ109:obj.data.GWCQ109};
                        }else {
                            _xData={GWCQ109:obj.data.GWCQ109,GWCQ001:obj.data.GWCQ001}
                        }
                        app.ajax({
                            xurl: 'base/gwai700/getGwdc020_021',
                            xdata: {GWCQ109:obj.data.GWCQ109},
                            cb: function (rt) {
                                if (rt.ok) {
                                    GWDC020=rt.data.data.GWDC020;
                                    GWDC021=rt.data.data.GWDC021;
                                    var GWCQ003=0;
                                    listData.forEach(function (item) {
                                        if(item.GWCQ109==obj.data.GWCQ109 && item.GWCQSEQ !=obj.data.GWCQSEQ){
                                            GWCQ003=math.add(GWCQ003,item.GWCQ003);
                                        }
                                    })
                                    GWCQ003=math.add(GWCQ003,obj.value);
                                    if(GWCQ003 < GWDC020){
                                        app.confirm({
                                            msg: '修改数量导致不满足促销活动，是否确定修改？',
                                            ok: function () {
                                                //先调整当前行
                                                obj.updateOfEdit({
                                                    'GWCQ003':obj.value,
                                                    'GWCQ109': '',
                                                    'GWDC003': '',
                                                    'GWCQ110': '',
                                                    'GWCQ111': '',
                                                    'GWCQ004':obj.data.GWCQ113,
                                                    'GWCQ005':math.mul(obj.value,obj.data.GWCQ113)
                                                });
                                                //再调整其他行
                                                listData.forEach(function (item) {
                                                    if(obj.data.GWCQ109==item.GWCQ109 && obj.data.GWCQSEQ !=item.GWCQSEQ){
                                                        obj.update({
                                                            'GWCQ109': '',
                                                            'GWDC003': '',
                                                            'GWCQ110': '',
                                                            'GWCQ111': '',
                                                            'GWCQ004':obj.data.GWCQ113,
                                                            'GWCQ005':math.mul(obj.data.GWCQ003,obj.data.GWCQ113)
                                                        });
                                                    }
                                                });
                                                listData=listTable.getDatas();
                                                self.tableReload(listData);
                                            },
                                            cancel:function () {
                                                obj.value=listData[obj.index].GWCQ003;
                                                obj.updateOfEdit({
                                                    'GWCQ003':obj.value
                                                });
                                                listData=listTable.getDatas();
                                                self.tableReload(listData);
                                            }
                                        });
                                    }else {
                                        obj.updateOfEdit({
                                            'GWCQ003':obj.value,
                                            'GWCQ004':obj.data.GWCQ113,
                                            'GWCQ005':math.mul(obj.value,obj.data.GWCQ113)
                                        });
                                        listData=listTable.getDatas();
                                        self.tableReload(listData);
                                    }
                                }
                            }
                        });
                    }
                    //非组合+满额赠送
                    if(obj.data.GWCQ109!=null && obj.data.GWCQ111 =="2" && obj.data.GWCQ110=="3"){
                        /*var GWDC020=0,
                            GWDC021=0;
                        app.ajax({
                            xurl: 'base/gwai700/getGwdc020_021',
                            xdata: {GWCQ109:obj.data.GWCQ109},
                            cb: function (rt) {
                                if (rt.ok) {
                                    GWDC020=rt.data.GWDC020;
                                    GWDC021=rt.data.GWDC021;
                                }
                            }
                        });
                        var GWCQ005=0;
                        listData.forEach(function (item) {
                            if(item.GWCQ109==obj.data.GWCS109 && item.GWCQSEQ !=obj.data.GWCQSEQ){
                                GWCQ005=GWCQ005+item.GWCQ005;
                            }
                        })
                        GWCQ005=GWCQ005+math.mul(obj.value,obj.data.GWCQ004);
                        if(GWCQ005 < GWDC021){
                            app.confirm({
                                msg: '修改数量导致不满足促销活动，是否确定修改？',
                                ok: function () {
                                    //确定修改后会清除所有与活动有关的信息，包括赠品信息
                                    app.ajax({
                                        xurl: 'base/gwai700/delGwcqzByGwcqz007',
                                        xdata: {GWCQDOCNO:vueData.form.GWCQDOCNO,GWCQ109:obj.data.GWCQ109,GWCQSEQ:obj.data.GWCQSEQ},
                                        cb: function (rt) {
                                            if (rt.ok) {
                                                layer.msg('赠品信息清除成功');
                                            }
                                        }
                                    });
                                    //先调整当前行
                                    obj.updateOfEdit({
                                        'GWCQ003':obj.value,
                                        'GWCQ109': '',
                                        'GWDC003': '',
                                        'GWCQ110': '',
                                        'GWCQ111': '',
                                        'GWCQ004':obj.data.GWCQ113,
                                        'GWCQ005':math.mul(obj.value,obj.data.GWCQ113)
                                    });
                                    //再调整其他行
                                    listData.forEach(function (item) {
                                        if(obj.data.GWCQ109==item.data.GWCQ109 && obj.data.GWCQSEQ !=item.data.GWCQSEQ){
                                            obj.update({
                                                'GWCQ109': '',
                                                'GWDC003': '',
                                                'GWCQ110': '',
                                                'GWCQ111': '',
                                                'GWCQ004':obj.data.GWCQ113,
                                                'GWCQ005':math.mul(obj.data.GWCS003,obj.data.GWCQ113)
                                            });
                                        }
                                    });
                                    //self.tableReload();
                                },
                                cancel:function () {
                                    obj.value=obj.data.GWCQ003;
                                }
                            });
                        }else {
                            obj.updateOfEdit({
                                'GWCQ003':obj.value,
                                'GWCQ004':obj.data.GWCQ113,
                                'GWCQ005':math.mul(obj.value,obj.data.GWCQ113)
                            });
                            listData=listTable.getDatas();
                            self.tableReload(listData);
                        }*/
                    }
                    //非组合+满量赠送
                    if(obj.data.GWCQ109!=null && obj.data.GWCQ111 =="2" && obj.data.GWCQ110 =="4"){
                        self.checkGwdc020(obj);
                        /*var GWDC020=0,
                            GWDC021=0;
                        app.ajax({
                            xurl: 'base/gwai700/getGwdc020_021',
                            xdata: {GWCS109:obj.data.GWCS109},
                            cb: function (rt) {
                                if (rt.ok) {
                                    GWDC020=rt.data.GWDC020;
                                    GWDC021=rt.data.GWDC021;
                                }
                            }
                        });
                        var GWCQ003=0;
                        listData.forEach(function (item) {
                            if(item.GWCQ109==obj.data.GWCQ109 && item.GWCQSEQ !=obj.data.GWCQSEQ){
                                GWCQ003=GWCQ003+item.GWCQ003;
                            }
                        })
                        GWCQ003=GWCQ003+obj.value;
                        if(GWCQ003 < GWDC020){
                            app.confirm({
                                msg: '修改数量导致不满足促销活动，是否确定修改？',
                                ok: function () {
                                    //确定修改后会清除所有与活动有关的信息，包括赠品信息
                                    app.ajax({
                                        xurl: 'base/gwai700/delGwcqzByGwcqz007',
                                        xdata: {GWCQDOCNO:vueData.form.GWCQDOCNO,GWCQ109:obj.data.GWCQ109,GWCQSEQ:obj.data.GWCQSEQ},
                                        cb: function (rt) {
                                            if (rt.ok) {
                                                layer.msg('赠品信息清除成功');
                                            }
                                        }
                                    });
                                    //先调整当前行
                                    obj.updateOfEdit({
                                        'GWCQ003':obj.value,
                                        'GWCQ109': '',
                                        'GWDC003': '',
                                        'GWCQ110': '',
                                        'GWCQ111': '',
                                        'GWCQ004':obj.data.GWCQ113,
                                        'GWCQ005':math.mul(obj.value,obj.data.GWCQ113)
                                    });
                                    //再调整其他行
                                    listData.forEach(function (item) {
                                        if(obj.data.GWCQ109==item.data.GWCQ109 && obj.data.GWCQSEQ !=item.data.GWCQSEQ){
                                            obj.update({
                                                'GWCQ109': '',
                                                'GWDC003': '',
                                                'GWCQ110': '',
                                                'GWCQ111': '',
                                                'GWCQ004':obj.data.GWCQ113,
                                                'GWCQ005':math.mul(obj.data.GWCQ003,obj.data.GWCQ113)
                                            });
                                        }
                                    });
                                    self.tableReload();
                                },
                                cancel:function () {
                                    obj.value=obj.data.GWCQ003;
                                }
                            });
                        }else {
                            obj.updateOfEdit({
                                'GWCQ003':obj.value,
                                'GWCQ004':obj.data.GWCQ113,
                                'GWCQ005':math.mul(obj.value,obj.data.GWCS113)
                            });
                            listData=listTable.getDatas();
                            self.tableReload(listData);
                        }*/
                    }
                }else if(obj.field == 'GWCQ004'){
                    obj.update({
                        'GWCQ005': math.mul(obj.data.GWCQ003,obj.value)
                    });
                }
            });
            //监听事件
            table.on('tool(gwai700_edit_table)', function(obj){
                switch(obj.event){
                    case 'selectFrzz':
                        self._openTplFull({
                            tag: 'common_open_window',
                            tagData: {
                                config: {
                                    method: 'q_sysorg_biz',
                                    columnList: [{label: '归属法人编号', prop: 'ID', width: '150'},
                                        {label: '归属法人名称', prop: 'NAME', width: '150'},
                                        {label: '营运中心编号', prop: 'BIZ_CODE', width: '150'},
                                        // {label: '营运中心名称', prop: 'BIZ_CODE_NAME', width: '150'}
                                    ]
                                },
                                cb: function (data) {
                                    obj.update({
                                        'GWCQMLEGAL_NAME': data.NAME,
                                        'GWCQMLEGAL': data.ID,
                                        'GWCQPLANT': data.BIZ_CODE,
                                        'GWCQLEGAL': data.BIZ_CODE
                                    });
                                }
                            },
                            index: 0,
                            openOpts: {
                                title: '选择法人组织',
                                area: ['600px', '470px']
                            }
                        });
                        break;
                    case 'openGwdc001' :
                        self._openTplFull({
                            tag: 'common_open_window',
                            tagData: {
                                config: {
                                    method:'q_gwdc001',
                                    columnList: [
                                        {label: '活动编号', prop: 'GWDC001', width: '150'},
                                        {label: '活动说明', prop: 'GWDC003', width: '150'},
                                        {label: '促销方式', prop: 'GWDC005', width: '150'},
                                        {label: '促销单据类型', prop: 'GWDC004', width: '150'},
                                        {label: '生效日期', prop: 'GWDC009', width: '150'}
                                    ],
                                    searchParam:{
                                        GWCS010:vueData.form.GWCQ010, //经销商
                                        GWCSDOCDATE:vueData.form.GWCQDOCDATE,//单据日期
                                    }
                                },
                                cb: function (data) {
                                    if(data.GWDC004 == '1:组合'){
                                        data.GWDC004='1';
                                    }else if(data.GWDC004 == '2:非组合'){
                                        data.GWDC004='2';
                                    }else{
                                        data.GWDC004='';
                                    }
                                    if(data.GWDC005 == '1:裸价'){
                                        data.GWDC005='1';
                                    }else if(data.GWDC005 == '2:特价'){
                                        data.GWDC005='2';
                                    }else if(data.GWDC005 == '3:满额赠送'){
                                        data.GWDC005='3';
                                    }else if(data.GWDC005 == '4:满量赠送'){
                                        data.GWDC005='4';
                                    }else{
                                        data.GWDC005='';
                                    }
                                    obj.update({
                                        'GWCQ109': data.GWDC001,
                                        'GWDC003': data.GWDC003,
                                        'GWCQ110': data.GWDC005,
                                        'GWCQ111': data.GWDC004
                                    });
                                }
                            },
                            index: 0,
                            openOpts: {
                                title: '选择活动信息',
                                area: ['600px', '500px']
                            }
                        });
                        break;
                    case 'openGwda003' :
                        var list = listTable.getDatas();
                        var keyArray=[];
                        for(var i =0;i<list.length;i++){
                            keyArray.push(
                                list[i]['GWCQ001']
                            );
                        }
                        var keyArrayStr=keyArray.join(',');
                        self._openTplFull({
                            tag: 'common_open_window',
                            tagData: {
                                multiple:true,
                                config: {
                                    method:'cq_gwam001_3',
                                    columnList: [
                                        {label: '产品编号', prop: 'GWDA003', width: '150'},
                                        {label: '品名', prop: 'GWAML003', width: '150'},
                                        {label: '规格', prop: 'GWAML004', width: '150'},
                                        {label: '单位', prop: 'GWAM008', width: '150'}
                                    ],
                                    dataList:[],
                                    key:'GWDA003',
                                    searchParam:{
                                        GWCS010:vueData.form.GWCQ010, //经销商
                                        GWDC001:obj.data.GWCQ109, //活动编号
                                        GWCSDOCDATE:vueData.form.GWCQDOCDATE,//单据日期
                                        keyArrayStr:keyArrayStr
                                    }
                                },
                                cb: function (data) {
                                    var listData = listTable.getDatas();
                                    var select = [];
                                    var _xdata = [];
                                    for (var i = 0; i < data.length; i++) {
                                        _xdata.push({
                                            GWCSDOCDATE:vueData.form.GWCQDOCDATE,
                                            GWCS010:vueData.form.GWCQ010,
                                            GWCS001:data[i].GWDA003,
                                            GWCS109:obj.data.GWCQ109
                                        })
                                    }
                                    if(!app.isEmpty(_xdata)){
                                        app.ajax({
                                            xurl: 'crm/gwai710/getPrice',
                                            xdata: _xdata,
                                            toJsonStr: true,
                                            cb: function (rt) {
                                                if (rt.ok) {
                                                    var count = obj.data.GWCQSEQ;
                                                    for (var i = 0; i < rt.data.data.length; i++) {
                                                        select.push({
                                                            GWCQSEQ:count+i,
                                                            GWCQ109:obj.data.GWCQ109,
                                                            GWDC003:obj.data.GWDC003,
                                                            GWCQ001:rt.data.data[i].GWDC018,
                                                            GWAML003:rt.data.data[i].GWAML003,
                                                            GWAML004:rt.data.data[i].GWAML004,
                                                            GWCQ002:rt.data.data[i].GWDC019,
                                                            GWCQ003:rt.data.data[i].GWDC020,
                                                            GWCQ004:rt.data.data[i].GWDC024,
                                                            GWCQ005:(rt.data.data[i].GWDC020 * rt.data.data[i].GWDC024),
                                                            GWCQ110:obj.data.GWCQ110,
                                                            GWCQ111:obj.data.GWCQ111,
                                                            GWCQ113:rt.data.data[i].GWDC023,
                                                            GWCQACTI: 'Y',
                                                            GWCQ101: '0'
                                                        })
                                                    }
                                                    var unselect = [];
                                                    var arr1 = [];
                                                    var arr2 = [];
                                                    select.forEach(function (v) {
                                                        arr1.push(v.GWCQ001);
                                                    });
                                                    _xdata.forEach(function (v) {
                                                        arr2.push(v.GWCQ001);
                                                    });
                                                    arr1.concat(arr2).filter(function (item) {
                                                        if (!arr1.includes(item) || !arr2.includes(item)) {
                                                            unselect.push(item);
                                                        }
                                                    });
                                                    if (select.length > 0) {
                                                        listData.removeByMap({
                                                            GWCQSEQ: obj.data.GWCQSEQ
                                                        });
                                                        listData.push.apply(listData, select);
                                                    }
                                                    self.tableReload(listData);
                                                    if (select.length != _xdata.length) {
                                                        var text = '';
                                                        unselect.forEach(function (v) {
                                                            text = text + v + ',';
                                                        });
                                                        app.showWarning('选择的商品' + text + '未设置结算价请检查!');
                                                    }
                                                }
                                            }
                                        });

                                    }
                                }
                            },
                            index: 0,
                            openOpts: {
                                title: '选择产品信息',
                                area: ['600px', '500px']
                            }
                        });
                        break;
                };
            });
        },
        tableReload: function (listData) {
            table.reload('gwai700_edit_table', {
                data: listData
            });
        },
        addDataBatch: function () {
            var listData = listTable.getDatas();
            var count = 0;
            if(listData.length > 0){
                count = parseInt(listData[listData.length-1].GWCQSEQ);
            }
            listData.push({
                GWCQSEQ:count+1,
                GWCQ109:'',
                GWDC003:'',
                GWCQ001:'',
                GWAML003:'',
                GWAML004:'',
                GWCQ002:'',
                GWCQ003:'',
                GWCQ004:'',
                GWCQ005:'',
                GWCQ110:'',
                GWCQ111:'',
                GWCQ113:'',
                GWCQACTI: 'Y',
                GWCQ101: '0'
            });
            self.tableReload(listData);
            /*self._openTplFull({
                tag: 'common_open_cp',
                tagData: {
                    cb:function (data) {
                        var listData = listTable.getDatas();
                        listData.push({
                            GWCQSEQ: (new Date()).valueOf(),
                            GWCQ001: data.GWAM001,
                            GWAML003: data.GWAML003,
                            GWAML004: data.GWAML004,
                            GWCQ002: data.GWAM008,
                            GWCQ003: 0,
                            GWCQ004: 0,
                            GWCQ005: 0,
                            GWCQACTI: 'Y',
                            GWCQ101: '0'
                        });
                        self.tableReload(listData);
                    }
                },
                index: 0,
                openOpts: {
                    title: '选择产品',
                    area:['600px', '470px']
                }
            });*/
        },
        deleteDataBatch: function(){
            var listData = listTable.getDatas();
            var checkStatus = table.checkStatus('gwai700_edit_table');
            if (checkStatus.data.length > 0) {
                checkStatus.data.forEach(function (v) {
                    listData.removeByMap({
                        GWCQSEQ : v.GWCQSEQ
                    });
                });
                self.tableReload(listData);
            }
        },
        addData: function(listData){
            app.ajax({
                xurl: 'base/gwai700/addData',
                xdata: listData,
                loading: true,
                toJsonStr: true,
                okmsg: moduleName +'增加成功',
                cb: function (result) {
                    if (result.ok) {
                        app.pageModule('gwai700').reloadTableCurr();
                        self.closePage();
                    }
                }
            });
        },
        editData: function(listData){
            app.ajax({
                xurl: 'base/gwai700/editData',
                xdata: listData,
                loading: true,
                toJsonStr: true,
                okmsg: moduleName +'修改成功',
                cb: function (result) {
                    if (result.ok) {
                        app.pageModule('gwai700').reloadTableCurr();
                        self.closePage();
                    }
                }
            });
        },
        closePage: function(){
            layer.close(layOpenIndex);
        },
        checkGwdc020:function (obj) {
            var listData = [];
            var GWDC020=0,
                GWDC021=0;
            var _xdata={};
            if(obj.data.GWCQ111 =="1"){//组合
                _xdata= {GWCQ109:obj.data.GWCQ109};
            }else {
                _xdata= {GWCQ109:obj.data.GWCQ109,GWCQ001:obj.data.GWCQ001};
            }
            app.ajax({
                xurl: 'base/gwai700/getGwdc020_021',
                xdata: _xdata,
                cb: function (rt) {
                    if (rt.ok) {
                        GWDC020=rt.data.data.GWDC020;
                        GWDC021=rt.data.data.GWDC021;
                        var GWCQ003=0;
                        listData.forEach(function (item) {
                            if(item.GWCQ109==obj.data.GWCQ109 && item.GWCQSEQ !=obj.data.GWCQSEQ){
                                GWCQ003=math.add(GWCQ003,item.GWCQ003);
                            }
                        })
                        GWCQ003=math.add(GWCQ003,obj.value);
                        if(GWCQ003 < GWDC020){
                            var _data={};
                            if(obj.data.GWCQ111=="1"){//组合
                                _data={GWCQDOCNO:vueData.form.GWCQDOCNO,GWCQ109:obj.data.GWCQ109};
                            }
                            if(obj.data.GWCQ111=="2"){//非组合
                                _data={GWCQDOCNO:vueData.form.GWCQDOCNO,GWCQ109:obj.data.GWCQ109,GWCQ001:obj.data.GWCQ001};
                            }
                            app.confirm({
                                msg: '修改数量导致不满足促销活动，是否确定修改？',
                                ok: function () {
                                    //确定修改后会清除所有与活动有关的信息，包括赠品信息
                                    app.ajax({
                                        xurl: 'base/gwai700/delGwcqzByGwcqz007',
                                        xdata: _data,
                                        cb: function (rt) {
                                            if (rt.ok) {
                                                layer.msg('赠品信息清除成功');
                                            }
                                        }
                                    });
                                    //先调整当前行
                                    obj.updateOfEdit({
                                        'GWCQ003':obj.value,
                                        'GWCQ109': '',
                                        'GWDC003': '',
                                        'GWCQ110': '',
                                        'GWCQ111': '',
                                        'GWCQ004':obj.data.GWCQ113,
                                        'GWCQ005':math.mul(obj.value,obj.data.GWCQ113)
                                    });
                                    //再调整其他行
                                    listData.forEach(function (item) {
                                        if(obj.data.GWCQ109==item.data.GWCQ109 && obj.data.GWCQSEQ !=item.data.GWCQSEQ){
                                            obj.update({
                                                'GWCQ109': '',
                                                'GWDC003': '',
                                                'GWCQ110': '',
                                                'GWCQ111': '',
                                                'GWCQ004':obj.data.GWCQ113,
                                                'GWCQ005':math.mul(obj.data.GWCQ003,obj.data.GWCQ113)
                                            });
                                        }
                                    });
                                    listData=listTable.getDatas();
                                    self.tableReload(listData);
                                },
                                cancel:function () {
                                    // listData=gwai710Table.getDatas();
                                    listData=listTable.getDatas();
                                    obj.value=listData[obj.index].GWCQ003;
                                    obj.updateOfEdit({
                                        'GWCQ003':obj.value
                                    });
                                    listData=listTable.getDatas();
                                    self.tableReload(listData);
                                }
                            });
                        }else {
                            if(vueData.isEdit){

                            }else {
                                obj.updateOfEdit({
                                    'GWCQ003':obj.value,
                                    'GWCQ004':obj.data.GWCQ113,
                                    'GWCQ005':math.mul(obj.value,obj.data.GWCQ113)
                                });
                                listData=listTable.getDatas();
                                self.tableReload(listData);
                            }

                        }
                    }
                }
            });

        },
        checkGwdc021:function (obj) {
            var listData = [];
            var GWDC020=0,
                GWDC021=0;
            app.ajax({
                xurl: 'base/gwai700/getGwdc020_021',
                xdata: {GWCQ109:obj.data.GWCQ109},
                cb: function (rt) {
                    if (rt.ok) {
                        GWDC020=rt.data.data.GWDC020;
                        GWDC021=rt.data.data.GWDC021;
                        var GWCQ005=0;
                        listData.forEach(function (item) {
                            if(item.GWCQ109==obj.data.GWCQ109 && item.GWCQSEQ !=obj.data.GWCQSEQ){
                                GWCQ005=math.add(GWCQ005,item.GWCQ005);
                            }
                        })
                        GWCQ005=math.add(GWCQ005,math.mul(obj.value,obj.data.GWCQ004));
                        if(GWCQ005 < GWDC021){
                            var _data={};
                            if(obj.data.GWCQ111=="1"){//组合
                                _data={GWCQDOCNO:vueData.form.GWCQDOCNO,GWCQ109:obj.data.GWCQ109};
                            }
                            if(obj.data.GWCQ111=="2"){//非组合
                                _data={GWCQDOCNO:vueData.form.GWCQDOCNO,GWCQ109:obj.data.GWCQ109,GWCQ001:obj.data.GWCQ001};
                            }
                            app.confirm({
                                msg: '修改数量导致不满足促销活动，是否确定修改？',
                                ok: function () {
                                    //确定修改后会清除所有与活动有关的信息，包括赠品信息
                                    app.ajax({
                                        xurl: 'base/gwai700/delGwcqzByGwcqz007',
                                        xdata: _data,
                                        cb: function (rt) {
                                            if (rt.ok) {
                                                layer.msg('赠品信息清除成功');
                                            }
                                        }
                                    });
                                    //先调整当前行
                                    obj.updateOfEdit({
                                        'GWCQ003':obj.value,
                                        'GWCQ109': '',
                                        'GWDC003': '',
                                        'GWCQ110': '',
                                        'GWCQ111': '',
                                        'GWCQ004':obj.data.GWCQ113,
                                        'GWCQ005':math.mul(obj.value,obj.data.GWCQ113)
                                    });
                                    //再调整其他行
                                    listData.forEach(function (item) {
                                        if(obj.data.GWCQ109==item.GWCQ109 && obj.data.GWCQSEQ !=item.GWCQSEQ){
                                            obj.update({
                                                'GWCQ109': '',
                                                'GWDC003': '',
                                                'GWCQ110': '',
                                                'GWCQ111': '',
                                                'GWCQ004':obj.data.GWCS113,
                                                'GWCQ005':math.mul(obj.data.GWCQ003,obj.data.GWCQ113)
                                            });
                                        }
                                    });
                                    listData=listTable.getDatas();
                                    self.tableReload(listData);
                                },
                                cancel:function () {
                                    listData=listTable.getDatas();
                                    obj.value=listData[obj.index].GWCQ003;
                                    obj.updateOfEdit({
                                        'GWCQ003':obj.value
                                    });
                                    listData=listTable.getDatas();
                                    self.tableReload(listData);
                                }
                            });
                        }else {
                            obj.updateOfEdit({
                                'GWCQ003':obj.value,
                                'GWCQ004':obj.data.GWCQ113,
                                'GWCQ005':math.mul(obj.value,obj.data.GWCQ113)
                            });
                            listData=listTable.getDatas();
                            self.tableReload(listData);
                        }
                    }
                }
            });
        },

        _call: function (tagData) {
            pageVue.$refs['form'].resetFields();
            moduleName = tagData.moduleName;
            layOpenIndex = tagData.layOpenIndex;
            if (tagData.is_check) {
                vueData.isCheck = true;
            }else{
                vueData.isCheck = false;
            }
            if(tagData.is_show){
                vueData.isShow = true;
            }else {
                vueData.isShow = false;
            }
            if (tagData.is_add) {
                vueData.isAdd = true;
                app.ajax({
                    xurl: 'base/gwai700/getAddData',
                    cb: function (result) {
                        if (result.ok) {
                            app.extendUpLow({
                                target: vueData.form,
                                res: {
                                    GWCQDOCNO:  result.data.data.GWCQDOCNO,
                                    GWCQDOCDATE:  result.data.data.GWCQDOCDATE,
                                    GWCQ014: result.data.data.GWCQ014,
                                    GWCQ014_NAME: result.data.data.GWCQ014_NAME
                                },
                                reset: true
                            });
                            if( typeof(result.data.data.GWCS010) !== "undefined"){
                                vueData.form.GWCS010=result.data.data.GWCS010;
                                vueData.form.GWAKL003=result.data.data.GWCS010_NAME;
                            }
                            self.tableReload([]);
                        }
                    }
                });
            } else {
                vueData.isAdd = false;
                callObj = tagData.obj;
                app.ajax({
                    xurl: 'base/gwai700/getUpdateData',
                    xdata: {
                        GWCQDOCNO : callObj.data.GWCQDOCNO
                    },
                    cb: function (result) {
                        if (result.ok) {
                            app.extendUpLow({
                                target: vueData.form,
                                res: {
                                    GWCQDOCNO:  result.data.data[0].GWCQDOCNO,
                                    GWCQDOCDATE:  result.data.data[0].GWCQDOCDATE,
                                    GWCQ014: result.data.data[0].GWCQ014,
                                    GWCQ014_NAME: result.data.data[0].GWCQ014_NAME
                                },
                                reset: true
                            });
                            if(typeof(result.data.data[0].GWCQ010) !== "undefined"){
                                vueData.form.GWCQ010=result.data.data[0].GWCQ010;
                                vueData.form.GWCQ010_NAME=result.data.data[0].GWCQ010_NAME;
                            }
                            self.tableReload(result.data.data);
                        }
                    }
                });
            }

        },
        _ready: function () {
            table = layui.table;
            vueData.form = app.fields_(['base_gwai700'],vueData.form);
            pageVue = new Vue({
                el: '#gwai700_edit',
                data: vueData,
                methods: {
                    selectCustomer: function(){
                        self._openTplFull({
                            tag: 'common_open_window',
                            tagData: {
                                config: {
                                    method: 'q_gwak001',
                                    columnList: [
                                        {label: '客户编号', prop: 'GWAK001', width: '150'},
                                        {label: '客户简称', prop: 'GWAKL003', width: '150'},
                                        {label: '客户全称', prop: 'GWAKL004', width: '150'}
                                    ],
                                },
                                cb: function (data) {
                                    vueData.form.GWCQ010 = data.GWAK001;
                                    vueData.form.GWCQ010_NAME = data.GWAKL003;
                                }
                            },
                            index: 0,
                            openOpts: {
                                title: '选择客户',
                                area: ['600px', '470px']
                            }
                        });

                    },
                    selectUser:function () {
                        self._openTplFull({
                            tag: 'common_open_window',
                            tagData: {
                                config: {
                                    method:'q_sysuser_id',
                                    columnList: [
                                        {label: '人员编号', prop: 'ID', width: '150'},
                                        {label: '姓名', prop: 'ACCOUNT', width: '150'},
                                        {label: '账号', prop: 'NAME', width: '150'}
                                    ]
                                },
                                cb: function (data) {
                                    vueData.form.GWCQ014_NAME = data.NAME;
                                    vueData.form.GWCQ014 = data.ID;
                                }
                            },
                            index: 0,
                            openOpts: {
                                title: '选择下单人',
                                area: ['600px', '470px']
                            }
                        });
                    },
                    addDataBatch: function () {
                        this.$refs['form'].validate(function (valid) {
                            if (valid) {
                                self.addDataBatch();
                            }
                        });
                    },
                    deleteDataBatch: function () {
                        self.deleteDataBatch();
                    },
                    transformInquiry : function(){
                        var checkStatus = table.checkStatus('gwai700_edit_table');
                        if (checkStatus.data.length > 0) {
                            var _xdata = [];
                            for(var i=0;i<checkStatus.data.length;i++){
                                var v = checkStatus.data[i];
                                if(v.GWCQPLANT == '' || v.GWCQPLANT == null
                                    || v.GWCQLEGAL == '' || v.GWCQLEGAL == null
                                    || v.GWCQMLEGAL == '' || v.GWCQMLEGAL == null){
                                    app.showWarning('请选择法人及组织!');
                                    return;
                                }
                                _xdata.push(v);
                            }
                            app.ajax({
                                xurl: 'base/gwai700/transformInquiry',
                                xdata: _xdata,
                                loading: true,
                                toJsonStr: true,
                                okmsg: moduleName +'转询价单成功',
                                cb: function (result) {
                                    if (result.ok) {
                                        var listData = listTable.getDatas();
                                        checkStatus.data.forEach(function (v) {
                                            listData.filterKV({
                                                GWCQSEQ : v.GWCQSEQ
                                            }).addMap({
                                                GWCQ101 : '1'
                                            },true);
                                        });
                                        self.tableReload(listData);
                                    }
                                }
                            });
                        }
                    },
                    giftInfo:function () {
                        self._openTplFull({
                            tag: 'gwai700_edit_giftInfo',
                            tagData: {
                                moduleName:"赠品信息",
                                GWCQDOCNO:vueData.form.GWCQDOCNO,
                                GWCQ010:vueData.form.GWCQ010
                            },
                            index: 1,
                            openOpts: {
                                title: '赠品信息编辑',
                                maxmin: true
                            }
                        });
                    },
                    sure: function () {
                        this.$refs['form'].validate(function (valid) {
                            if (valid) {
                                var listData = listTable.getDatas();
                                /*for(var i=0;i<listData.length;i++){
                                    var v = listData[i];
                                    if(v.GWCQPLANT == '' || v.GWCQPLANT == null
                                        || v.GWCQLEGAL == '' || v.GWCQLEGAL == null
                                        || v.GWCQMLEGAL == '' || v.GWCQMLEGAL == null){
                                        app.showWarning('请选择法人及组织!');
                                        return;
                                    }
                                }*/
                                for (var i = 0; i < listData.length; i++) {
                                    var v = listData[i];
                                        if (v.GWCQ003 == '' || v.GWCQ003 == null
                                        || v.GWCQ003 <=0 ) {
                                        app.showWarning('存在数量小于等于0的资料!');
                                        return;
                                    }
                                    /*var sum_gwcq003=0;
                                    var sum_gwcq005=0;
                                    listData.forEach(function (item) {
                                        //组合+满量
                                        if (v.GWCQ109 == item.GWCQ109 && v.GWCQ110 == "4" && v.GWCQS111 == "1") {
                                            sum_gwcq003 = math.add(sum_gwcq003, v.GWCQ003);
                                        }
                                        //组合+满额
                                        if (v.GWCQ109 == item.GWCQ109 && v.GWQS110 == "3" && v.GWCQ111 == "1") {
                                            sum_gwcq005 = math.add(sum_gwcq005, v.GWCQ005);

                                        }
                                        /!*!//非组合+满量
                                         if(v.GWCS109==item.data.GWCS109 && v.GWCS110=="4" && v.GWCS111=="2"){
                                         sum_gwcs003=math.add(sum_gwcs003,v.GWCS003);
                                         }
                                         //非组合+满额
                                         if(v.GWCS109==item.data.GWCS109 && v.GWCS110=="3" && v.GWCS111=="2"){
                                         sum_gwcs005=math.add(sum_gwcs005,v.GWCS005);
                                         }*!/

                                    });
                                    //组合+满量
                                    if (v.GWCQ110 == "4" && v.GWCQ111 == "1") {
                                        app.ajax({
                                            xurl: 'base/gwai700/getGwcqz005_006',
                                            xdata: {GWCQ109:v.GWCQ109},
                                            async:false,
                                            cb: function (result) {
                                                if(result.ok){
                                                    if(result.data.data.GWDC025 > 0 && result.data.data.GWCQZ004 >0){
                                                        if(math.mul(parseInt(math.div(sum_gwcq003,result.data.data.GWDC020)),result.data.data.GWDC025) > result.data.data.GWCQZ004){
                                                            var msg='活动编号:'+v.GWCQ109+'，赠品信息超过促销活动里最大可赠金额，请重新维护赠品信息或商品数量！';
                                                            app.showWarning(msg);
                                                            return;
                                                        }
                                                    }
                                                    if(result.data.data.GWDC026 > 0 && result.data.data.GWCQZ003 >0){
                                                        if(math.mul(parseInt(math.div(sum_gwcq003,result.data.data.GWDC020)),result.data.data.GWDC026) > result.data.data.GWCQZ003){
                                                            var msg='活动编号:'+v.GWCQ109+'，赠品信息超过促销活动里最大可赠数量，请重新维护赠品信息或商品数量！';
                                                            app.showWarning(msg);
                                                            return;
                                                        }
                                                    }

                                                }
                                            }
                                        });
                                    }
                                    //组合+满额
                                    if (v.GWCQ110 == "3" && v.GWCQ111 == "1") {
                                        app.ajax({
                                            xurl: 'base/gwai700/getGwcqz005_006',
                                            xdata: {GWCQ109:v.GWCQ109},
                                            async:false,
                                            cb: function (result) {
                                                if(result.ok){
                                                    if(result.data.data.GWDC025 > 0 && result.data.data.GWCQZ004 >0){
                                                        if(math.mul(parseInt(math.div(sum_gwcq005,result.data.data.GWDC021)),result.data.data.GWDC025) > result.data.data.GWCQZ003,result.data.data.GWCQZ004){
                                                            var msg='活动编号:'+v.GWCS109+'，赠品信息超过促销活动里最大可赠金额，请重新维护赠品信息或商品数量！';
                                                            app.showWarning(msg);
                                                            return;
                                                        }
                                                    }
                                                    if(result.data.data.GWDC026 > 0 && result.data.data.GWCQZ003 >0){
                                                        if(math.mul(parseInt(math.div(sum_gwcq005,result.data.data.GWDC021)),result.data.data.GWDC026) > result.data.data.GWCQZ003){
                                                            var msg='活动编号:'+v.GWCQ109+'，赠品信息超过促销活动里最大可赠数量，请重新维护赠品信息或商品数量！';
                                                            app.showWarning(msg);
                                                            return;
                                                        }
                                                    }

                                                }
                                            }
                                        });
                                    }*/
                                }
                                listData.addMap(vueData.form,false);
                                if (vueData.isAdd) {
                                    self.addData(listData);
                                } else {
                                    self.editData(listData);
                                }
                            }
                        });
                    },
                    cancel: function () {
                        self.closePage();
                    }
                },
                watch: {},
                created: function () {
                    self._setEleIsReady('gwai700_edit');
                }
            });
            self.initListTable();
        },
        _lazy: function () {
            this._super();
        }
    });

    return new gwai700Edit();

});
